昨日我們將整個流程run 過第二次,並且加上詳細的紀錄,今天我要run第三次,並且來介紹修改以及如何返回的指令。
首先我們隨便修改程式碼的其中一部份,發送到暫存區
然後我們可以透過git restore -S <filename>
將暫存區的檔案回推,如果只有指定檔案參數可以輸入檔名,這邊我用「本次commit」
使用這個指令的時候,要十分的小心,除了再add可以新增檔案到暫存區以外,底下有一行
如果已經將暫存區回復一次之後,不帶參數再restore一次,會將程式的修改都將回復,非常的危險,使用上一定要特別注意
接下來要分享是更可怕更危險的東西reset,目前我的狀態以及commit紀錄是這樣
有三種不同程度的參數可以下達,不過無論是哪一種皆會使commit紀錄做更改,所以建議是在「本次commit已發送」的情況下使用,只有下達add的話,想從暫存區回推用上面的restore方法即可,但是假設今天我的commit出去的話,我可以
1.
使用git reset -- soft,將commit回推,add到暫存的檔案不動。HEAD^,是指當前commit的前一個。
2.
使用git reset -- mixed,如果reset沒加參數的話,預設就是mixed,將commite以及暫存區的東西都回推。
3.
使用git reset -- hard,全部都回推,連程式碼的修改也刪除,完全的回復到上一個commit的狀態,所以也非常危險,要注意使用。
今天介紹了回推的方法,非常重要,因為人總會有失手或者後悔的時候,知道如何回推是一件重要的事情,明天要來介紹一些剩下常用的其他用法。